package com.medaxis.hpams.sso.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.medaxis.hpams.sso.domain.Group;
import com.medaxis.hpams.sso.domain.dto.GroupDto;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface GroupMapper extends BaseMapper<Group> {

   GroupDto selectGroupByGroupId(Long groupId);

    /**
     * 查询部门列表
     *
     * @param GroupDto 组织
     * @return 部门
     */
    List<GroupDto> selectGroupList(GroupDto groupDto);


    /**
     * 新增部门
     *
     * @param  GroupDto 组织
     * @return 结果
     */
    int insertGroup(GroupDto groupDto);


    /**
     * 修改部门
     *
     * @param  GroupDto 组织
     * @return 结果
     */

     int updateGroup(GroupDto groupDto);


    /**
     * 批量删除部门
     *
     * @param groupIds 需要删除的部门主键
     * @return 结果
     */

     int deleteGroupByGroupIds(Long[] groupIds);


      GroupDto checkUnique(@Param("name") String name,@Param("id") Long id);

       int findUserByGroupId(Long id);

       List<GroupDto> selectChildren(Long id);

     int updateChildren(@Param("children") List<GroupDto> children);

     void updateParentStatus(GroupDto  groupDto);
}
